//package com.qf.consumer.service;
//
//import com.rabbitmq.client.Channel;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.amqp.core.Message;
//import org.springframework.amqp.core.MessageProperties;
//import org.springframework.amqp.rabbit.annotation.RabbitHandler;
//import org.springframework.amqp.rabbit.annotation.RabbitListener;
//import org.springframework.stereotype.Service;
//
//import java.io.IOException;
//
///**
// * description
// *
// * @author TangLin
// * @date 2020年08月10日 16:19
// */
//@Service
////@RabbitListener(queues = {"queue1","queue2"})
//@RabbitListener(queues = "queue1")
//public class ReceiveMsgService4 {
//    Logger log = LoggerFactory.getLogger(ReceiveMsgService4.class);
//
//
//    @RabbitHandler
//    public void processHandler(String msg, Channel channel, Message message) throws IOException {
//
//        try {
//            log.info("收到消息：{}", msg);
//            //TODO 具体业务
//            System.out.println(1/0);
//            //basicAck：表示成功确认
//            channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
//
//        }  catch (Exception e) {
//            if (message.getMessageProperties().getRedelivered()) {
//                log.error("消息已重复处理失败,拒绝再次接收...");
//                //false不在加入队列
//                //拒绝消息
//                channel.basicReject(message.getMessageProperties().getDeliveryTag(), false); // 拒绝消息
//            } else {
//
//                log.error("消息即将再次返回队列处理...");
//                //fale:代表是否批量确认
//                //true重新加入队列
//                //表示失败确认
//                channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, true);
//            }
//        }
//    }
//}
